package leetcode21_30;

import outoforder.leetcode.ListNode;

/**
 * @author shhjiang_001
 * @create 2020-06-13 21:25
 */



/*
        将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
        示例：
        输入：1->2->4, 1->3->4
        输出：1->1->2->3->4->4
        */

public class Solution21 {
    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        ListNode l3 = new ListNode();
        ListNode l = l3;
        while(l1 != null && l2 != null){
            if(l1.val < l2.val){
                l.next = new ListNode();
                l = l.next;
                l.val = l1.val;
                l1 = l1.next ;
            }else{
                l.next = new ListNode();
                l = l.next;
                l.val = l2.val;
                l2 = l2.next;
            }
        }
        if(l1 == null){
            l.next = l2;
        }else{
            l.next = l1;
        }
        return l3.next;
    }
}
